System and method for an improved sprinkler control system

ABSTRACT

Disclosed embodiments can provide a system and method for controlling irrigation schedules for a sprinkler system including automatically updating irrigation schedules based on qualitative and quantitative feedback and meteorological data as well as matching optimal or near-optimal irrigation schedules to other sprinkler zones based on characteristics of the landscape and sprinkler system as well as other characteristics.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/271,225, filed May 6, 2014, entitled “SYSTEM AND METHOD FOR ANIMPROVED SPRINKLER CONTROL SYSTEM,” which is hereby incorporated hereinby reference in its entirety.

FIELD

Disclosed embodiments relate to a landscaping sprinkler system controlsystem and a landscaping sprinkler system control method.

BACKGROUND

Current sprinkler systems have their irrigation schedules set manuallyat the beginning of a watering season and are not adjusted according tothe weather. Worse, homeowners typically lack the knowledge about theirlandscaping or sprinkler system to understand the optimal irrigationschedule. The result is either an over-watered lawn with much waterwasted as runoff, an under-watered lawn, or both depending on thesprinkler zone or location with the sprinkler zone.

Additionally, most current sprinkler systems lack the flexibility tohandle any type of eccentric irrigation schedule. For example, thetypical sprinkler system controller cannot handle more than a couple ofirrigation schedules for a zone. And adjusting the schedule both is timeconsuming and results in shifting from either an under-watered lawn toan over-watered lawn or vice versa.

Current automated sprinkler systems have attempted to bring someefficiency to this process by including sensors that keep track localweather conditions. But, those devices still must be adjusted andrequire expensive equipment for tracking rain, wind, and humidity. Thehardware included in those sprinkler systems can break or malfunctioneasily because of their exposure. Further, the sensors must be expertlyplaced to be effective. Even then, those systems can provide onlymeteorological input into determining any irrigation scheduleadjustments and over-watering or under-watering can still result.Sensors can give readings that do not necessarily result in optimalirrigation and this problem is exacerbated when sensors are misplaced,even slightly.

Other automated sprinkler systems take into account historic andpredicted weather data to adjust irrigation schedules. Such systemscannot accurately adjust irrigation cycles given that weather forecastsare often wrong or do not accurately reflect weather at the particularsite. As a result, these systems can adjust irrigation cycles to thedetriment of the landscape health. To compensate, these systems alsooften rely on sensors and, thus, suffer the same problems describedabove.

Yet other systems adjust irrigation schedules according toevapotranspiration (ET) information. Again, these systems require theuse of sensors susceptible to malfunctioning and expensive controllersto be effective and, again, suffer the same as the systems describedabove. One example of one automated sprinkler system is described inU.S. Pat. No. 5,870,302 (“Oliver”). In particular, Oliver and similarsystems use ET and predicted precipitation data to control an irrigationsystem. Although these systems address problems associated with depletedmoisture levels by detecting moisture levels directly or using other,external data to guess whether moisture levels are depleted and thenadjusting an irrigation schedule, they are still closed loop systemsthat adjust irrigation schedules based solely on empirical sensor data,or systems reliant on historical or forecast weather data.

In the former type of system, they obtain empirical information butrequire the same costly equipment to obtain it. Moreover, the empiricalinformation they gather cannot truly indicate landscape health. Thelatter type of system can be implemented more cheaply, both in the longand the short term, but it lacks empirical information and, as a result,can be no more successful at gauging optimal irrigation cycle times andschedules.

Oliver in particular discusses basing an ET value on baseline conditionsand then adjusting the irrigation schedules based on predicted andhistorical weather data. However, here Oliver lacks any ability todetermine whether the baseline ET value was correct or continues toprovide an accurate baseline. In particular, Oliver bases the ET valueonly on geographical information and objective data. Thus, Oliver isuseful only to the extent a baseline irrigation schedule or ET value iscorrect and that an adjusted ET value is calculated properly andaccurately reflects the landscape. Even then, unless the system employssensor equipment the actual ET values that Oliver uses to determine whento run a watering cycle, Oliver has only forecasted and historic weatherdata to rely on. That weather data alone, obtained from a weatherservice, not sensor equipment at the site, cannot reliably indicateactual precipitation, wind, humidity, etc. at a particular site. As aresult, under-watering or over-watering can still be an ongoing concern.Indeed, Oliver and other similar systems can run an irrigation cycleduring a precipitation event where a weather forecast is inaccurate.Although Oliver and other similar systems can achieve savings in theshort term, they cannot provide long-term flexibility as the irrigatedlandscape changes over time. Moreover, in many cases, they savings fallshort where predicted weather is inaccurate, where sensor data isflawed, or where sensors fail. In the end, Oliver either requires thesame costly and wear-prone equipment of a closed loop system or sufferssimilar problems that conventional sprinkler systems suffer.

Although present devices are functional, they are not sufficientlyfunctional or otherwise satisfactory. Accordingly, a system and methodare needed to address the shortfalls of present technology and toprovide other new and innovative features.

SUMMARY

Exemplary embodiments are shown in the drawings and are summarizedbelow. These and other embodiments are more fully described in theDetailed Description section. It is to be understood, however, thatthere is no intention to be limited to the forms described in thisSummary of the Invention or in the Detailed Description. One skilled inthe art can recognize that there are numerous modifications, equivalentsand alternative constructions that fall within the spirit and scope ofthe inventions as expressed in the claims.

Disclosed embodiments can provide a system and method for controllingirrigation schedules for a sprinkler system including receiving at leastone characteristic record value for a first sprinkler zone associatedwith a first sprinkler controller and a first irrigation schedule, thefirst irrigation schedule associated with the first sprinkler zone;receiving a computer-readable file including instructions forprogramming an irrigation schedule for the first sprinkler zone;receiving at least one characteristic record value for a secondsprinkler zone associated with a second sprinkler controller and asecond irrigation schedule, the second sprinkler controller unrelated tothe first sprinkler controller and the second irrigation scheduleassociated with the second sprinkler zone; determining that acharacteristic record value for the first sprinkler zone matches the acharacteristic record value for the second sprinkler zone; generating acomputer-readable file in a memory of computer server, the fileincluding instructions for programming an irrigation schedule for thesecond sprinkler zone in response to the determining that acharacteristic record associated with the first sprinkler zone matches acharacteristic record associated with the second sprinkler zone, thesecond irrigation schedule based at least in part on the firstirrigation schedule; sending, by a network communication device of thecomputer server, the second irrigation scheduling data for the secondsprinkler zone to the second sprinkler controller.

Disclosed embodiments can provide significant water savings by takinginto account specific characteristics of a watering zone when creatingan irrigation schedule. Further, a more healthy landscape can beprovided over current automated sprinkler systems by providing bothqualitative and quantitative feedback about the effectiveness of currentirrigation schedules and then automatically update irrigation schedulesbased on that feedback as well as other quantitative information.Additionally, disclosed embodiments can provide a far more convenientmethod of managing irrigation schedules without specialized knowledgeabout the functionality of a sprinkler controller or even physicalaccess to a sprinkler controller. Other benefits are disclosed in or areapparent from the description below.

As previously stated, the above-described embodiments andimplementations are for illustration purposes only. Numerous otherembodiments, implementations, and details are easily recognized by thoseof skill in the art from the following descriptions and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a schematic block diagram of a specially-programmedcomputer that can implement one or more computer system components inaccordance with some embodiments.

FIGS. 2-4 illustrate block diagrams of systems that allow for controland scheduling of sprinkler systems in accordance with some embodiments.

FIG. 5 illustrates a schematic of irrigation data in accordance withsome embodiments.

FIGS. 6-8 illustrate block diagrams of systems that allows for controland scheduling of sprinkler systems in accordance with some embodiments.

FIGS. 9-11A illustrates a method flow for registering and initializing asprinkler system controller in accordance with some embodiments.

FIGS. 12-16 illustrate method flows for updating irrigation scheduledata for a zone of a sprinkler system controller in accordance with someembodiments.

FIGS. 17-23 illustrate a user device for managing irrigation scheduledata for a zone of a sprinkler system controller in accordance with someembodiments.

DETAILED DESCRIPTION

In some embodiments, a central controller is operatively coupled to oneor more sprinkler controllers, user interface devices, and external datasources. Central controller can receive a signal to register a sprinklercontroller; can generate and send irrigation schedule data in responseto the registration signal; can generate irrigation schedule data basedon numerous criteria including the geographic location of the sprinklercontroller and the sprinkler zone(s) which it controls, sprinklercharacteristics, landscape characteristics, and the like.

Sprinkler characteristics can include characteristics related tosprinkler valves (including make, model, and type), sprinkler heads ornozzles (including make, model, and type), number of sprinkler heads,water pressure, water flow, other characteristics related to theelectrical and mechanical sprinkler system, and the like. Landscapecharacteristics can include characteristics related to turf type, soiltype, vegetation type (e.g., whether a zone is all lawn, whether zoneincludes trees, bushes, flowers, etc., whether zone is a garden, etc.)and the like. These and other criteria are discussed further below. Thisinformation can be received by the central controller as part of theregistration signal, separately requested by the central controller fromthe sprinkler controller, or separately received from another device viaa registration process. The central controller can generate irrigationschedule data on data from other sprinkler controllers or data relatedto other sprinkler controllers.

In some embodiments, The central controller can also receive irrigationschedule overrides and change instructions with which it generateseither changes to irrigation schedule data or one-time eventinstructions to send to a sprinkler controller. Accordingly, the centralcontroller can replace or augment an interface of a sprinkler controllerand can adjust sprinkler activity without manual intervention.

In some embodiments, the central controller can also receive qualitativeand quantitative information associated with a zone and the zone'slandscape condition. Further, the central controller can generateirrigation schedule data according to the qualitative and/orquantitative information, for the sprinkler controller for thelandscape, another sprinkler controller, or both. In this way,scheduling data can be optimized for a landscape owner.

Qualitative information can include a scaled value that indicateswhether the zone is under-watered or over-watered, healthy or unhealthy,or whether the zone is in some other qualitative state. The value canindicate the degree to which the zone is in that qualitative state. Forexample, number values along a scale (e.g., 1 to 10 or some other scale)can be assigned to indicate how under-watered or over-watered or both(i.e., low number on the scale= under-watered and high number on thescale= over-watered). Quantitative information can include Quantitativedata can include the volume of water used during a cycle, number oftimes a schedule is overridden, data from a sensor and the like.

In some embodiments, the central controller can receive data fromexternal sources that can include weather information, wateringrestrictions, landscape service provider information, and the like.Again, the central controller can generate scheduling data, includingsingle- or limited-event overrides, based on this information. Forexample, water authorities can promulgate watering restrictions whichthe central controller can implement on behalf of landscape owners andservice providers can create single-event override instruction to eitherwater or delay watering after fertilization. Moreover, such schedulingcan be customized for particular sprinkler zones.

In some embodiments, the central controller can generate an irrigationschedule using a baseline irrigation schedule and adjusting it accordingto characteristics or another irrigation schedule or using anotherirrigation schedule as a baseline and adjusting it according tocharacteristics. The central controller can implement an algorithm fordetermine whether an irrigation schedule is a suitable baseline fromwhich to generate another irrigation schedule.

The central controller can be implemented as a single computer servercontaining programming instructions or in communication with a memorycontaining programming instructions. In some embodiments, centralcontroller can be implemented as a distributed computing platform (i.e.,cloud-based). Those of skill in the art can appreciate that centralcontroller can be arranged using a number of different hardware andsoftware configurations.

As used in this specification, the singular forms “a,” “an,” and “the”include plural referents unless the context clearly dictates otherwise.Thus, for example, the term “a module” is intended to mean a singlemodule or a combination of modules.

In referring to the drawings, like or similar elements are designatedwith identical reference numerals throughout the several views. FIG. 1illustrates an embodiment of a specially-programmed computer 100 thatcan implement one or more of the foregoing components in accordance withsome embodiments. Such a computer 100 can include a networkcommunications interface 110, storage medium 120, memory 130, programinstructions 140, and processor 150. Program instructions 140 can beused to implement one or more of the components or portions ofcomponents of the system 100. Moreover, in some embodiments, additionalhardware components of computer 100 can be included that implement oneor more of the components or portions of components of the system 100.The storage medium 120 can be a hard disk drive, but this is certainlynot required, and other storage media can be used with disclosedembodiments. In addition, the storage medium 120, which is depicted forconvenience as a single storage device, may be realized by multiple(e.g., distributed) storage devices. Moreover, some embodiments caninclude one or more storage devices external to computer 100.

FIG. 2 illustrates a schematic block diagram of a system 200 that allowsfor control and scheduling of sprinkler systems in accordance with someembodiments. System 200 includes a central controller 210 thatimplements the control and scheduling of sprinkler controller 220.Central controller 210 can communicate with sprinkler controller 220 vianetwork router 230. Sprinkler controller 220 is a specially programmedcontroller than can receive, via network communications interface, andstore irrigation scheduling data, can receive instructions for runningsprinkler valves 230 via a network communications interface, and sendsignals for turning sprinkler valves 240 off and on. Sprinkler valves240 can be typical commercially-available sprinkler valves or specialtysprinkler valves developed for use with an embodiment.

In the embodiment shown, sprinkler valves 240 control water flow tothree zones 250, 258. Each zone can have one or more nozzles.Additionally, each zone includes a sensor for capturing meteorologicalinformation and transferring data related to the meteorologicalinformation to sprinkler controller 220. In some embodiments, one ormore zones may not have a sensor. Further, in some embodiments, one ormore of sensors 251, 259 can transfer data to central controller 210.Sensors 251, 255, 259 can be typical commercially-available sensors orspecialty sensors developed for use with an embodiment. It should beunderstood that embodiments can be used with currentcommercially-available sprinkler systems and no particular or specialsprinkler nozzles or valves are required. Embodiments can work with anysprinkler valve or sensor. Furthermore, sensors are not required forembodiments to operate. Sensors 251, 255, 259 can send information tothe central controller 210 directly, via network router 230, viasprinkler controller 220, or via some other device. Sensors 251, 255,259 can be configured to collect and send information in a format usableby sprinkler controller 220, central controller 210, or both forpurposes of scheduling. It should be understood that any of theembodiments illustrated in FIGS. 3, 4, and 6-8 can include sensors.

Network router 230 can be a local wireless or wired network router thanconnects to the internet. In some embodiments, network router 230 can becombined with sprinkler controller 220. Network router 230 can also be acellular device that communicates with central controller 210 throughthe internet via a cellular network or through a dedicated orproprietary network. Consumer devices 260 a-d can be speciallyprogrammed devices to send and receive sprinkler controller data, zonedata, irrigation schedule data, other data related to irrigationschedules from central controller 210 or other data sources describedherein via network router 230. In other embodiments, consumer devices260 a-d can be in communication with central controller 210 via somenetwork router other than network router 230, via cellular network, orsome other dedicated or proprietary network. Consumer device 260 a-d canbe a mobile phone, desktop computer, laptop computer, tablet computerserver computer, or some other computing device. Those of skill in theart can appreciate the different types of consumer devices that can sendnetwork traffic data, receive network traffic data, or both and that beused with disclosed embodiments.

It should be understood that in some embodiments, central controller 210and sprinkler controller 220 can be combined into a single device. Thatis, central controller 210 can implement the control and scheduling ofsprinkler controller 220 or vice versa. Additionally, central controller210 can be located at the sprinkler controller site or some otherlocation. Moreover, it should be understood that central controller 210described in FIGS. 3-4 and 5-9 can similarly be combined with sprinklercontroller 220, located at a sprinkler controller site, or some otherlocation.

Referring now to FIG. 3, a block diagram of a system 300 that allows forthe control and scheduling of a sprinkler system in accordance with someembodiments is illustrated. The system 300 includes central controller210, irrigation data 320, data provider 310, network 330, sprinklercontroller 220, sprinkler valves 240, zones 250, 254, 258, and devices260 a-d. Central controller 210 is in communication with data provider310, irrigation data 320, and sprinkler controller 220 via network 330.Central controller 210 can be single computer server or multiplecomputer servers operating either in conjunction or separately. Forexample, a sprinkler controller can be in communication with one centralcontroller while another sprinkler controller can be in communicationwith another central controller.

Data provider 320 is a third-party data source that provides informationuseful for determining irrigation schedules. Examples of data providersinclude sources for: historical and forecast weather data, prevailingsoil and turf types for particular regions, watering restrictions, waterpressure and usage, sprinkler valve and nozzle types and configurations,and the like.

Irrigation data 320 can be a database or some other data store formaintaining a persistent record of irrigation schedules for sprinklerzones. Irrigation data 320 can be hosted on the same computer server ascentral controller 210 or on a data server hosted or maintained by thesame or different entity either at the same physical location as theentity that hosts or maintains central controller 210. In otherembodiments, irrigation data can be hosted at sprinkler controller 220and central controller 210 can communicated with sprinkler controller220 to retrieve and send scheduling data when needed. Both current andhistoric irrigation schedules can be stored. Irrigation data 320 canalso include qualitative and quantitative information related to anirrigation schedule, a zone, or both.

Central controller 210 can use such information to adjust schedulingdata. In one embodiment, central controller 210 can determine that thenumber of times a watering cycle for a zone is overridden reaches apredetermined threshold which prompts the central controller 210 to senda new irrigation schedule or instructions for creating a new irrigationschedule at the sprinkler controller 220 based on adjustments determinedfrom the overrides. For example, a homeowner can override an irrigationschedule currently set to run a watering cycle for a zone every Saturdaymorning but the homeowner overrides the cycle four times over six weeks.A predetermined threshold of four overrides over six weeks can be setand central controller 210 determines new scheduling data and sends thescheduling data to sprinkler controller 220. In some instances, centralcontroller 210 can base the new scheduling data on the times thehomeowner chose to run a cycle. In other instances, central controller210 can base new scheduling data on an optimal irrigation schedule thatsimply avoids the times when the homeowner overrode the cycle.

Irrigation data 320 can also store characteristic data for the sprinklerzones. Characteristic data can include geolocation data for a zone, suchas zip code information, address, or coordinates; characteristicsrelated to the landscape such as soil type (sandy, loamy, clay, etc.);turf type, shade information, slope information, vegetation type (e.g.,lawn, garden, xeriscaping, etc.), runoff or drainage information, zonearea, or vegetation information (e.g., lawn, trees, flowers, etc.);sprinkler characteristics, such as nozzle type, number of nozzles, make,model, flow rate, water presser; and the like. Characteristicinformation can be stored as descriptive text or representative values.In some embodiments, irrigation data 320 can also include climate orweather characteristics for a zone. In other embodiments, climate orweather characteristics can be retrieved from an external data sourcewhen needed.

Central controller 210 can include a network communication device tosend and receive information from sprinkler controller 220 and otherdevices 260 a-d consistent with embodiments described herein.Furthermore, central controller 210 can include a module for generatingirrigation schedules for a zone controlled by a sprinkler controller andcan base an irrigation schedule on information associated with the zoneincluding the zone and sprinkler system characteristics described aboveand qualitative and quantitative data associated with other zones thatare similarly situated.

For example, for zones that have a soil type that drains more rapidly,central controller 210 can generate an irrigation schedule that includesmore frequent, but shorter cycles. If the turf type requires longerwatering cycles, the cycle time for one or more cycles can be increased.As another example, if a zone's sprinkler valve type or sprinkler systemflow characteristics indicate that a larger volume of water is deliveredover time, the cycle time for one or more of the cycles can bedecreased. Likewise, if the valve type or flow characteristics indicatethat a smaller volume of water is delivered over time, the cycle timefor one or more of the cycles can be increased. Similarly, the cycletime for one or more cycles for a zone can be increased where the zonehas little or no shade or decreased where the zone has more shade. Cycletimes can be increased or decreased based on the time the cycle is run.In some instances, a sprinkler type can be a rotor type or stationarytype. For a zone where the sprinkler type is rotor, where the rotationrange is greater, or where the spray range is greater, cycle times canbe increased. And for a zone where the sprinkler type is stationary,where the rotation range is smaller, or where the spray range issmaller, cycle times can be decreased. These and other effects onirrigation schedules by these and different characteristics are furtherdescribed below in connection with other embodiments.

The central controller 210 can match a zone for which an irrigationschedule is to be generated to another zone with similar characteristicsbased on one or more criteria. A match can be made when a sprinklercontroller is initially registered, upon receiving a request to update azone's irrigation schedule, or according to some predetermined interval(e.g., the sprinkler controller is configured to request an update atthe beginning of every watering season, once per month, etc.) Anexemplary zone can be selected for the match where qualitativeinformation associated with the zone or its landscape's condition can beused to determine whether the zone should be selected as exemplary. Insome instances, multiple zones can be selected as exemplary and theirirrigation schedules can each serve as a baseline or averages of theirirrigation schedules can serve as a baseline. In some instances, a matchcan be based on geolocation (e.g., zip code, zip+4, distance, and thelike).

For example, central controller 210 can determine a similarly situatedzone that schedules a three cycles in a 1 hour period at five minutesper cycle three times a week at 6 AM watering 3 times a week at 5minutes per cycle and for which qualitative information associated withthe zone indicates the schedule is optimal. That zone shares the samesoil and turf types as the zone for scheduling but has rotor sprinklersand low shade where the zone for scheduling has stationary sprinklersand high shade. Accordingly, central controller 210 can determine thatthe irrigation scheduling can serve as a baseline but must be altered.Because the zone for scheduling has stationary sprinklers and highshade, the cycle times are shortened to three minutes. The irrigationschedule is otherwise left unchanged. Algorithms for zone matching aredescribed further below.

The irrigation schedule can be sent to a device 260 a-d for acceptance.Upon receiving a signal that the irrigation schedule is accepted,instructions for running the sprinkler controller for the zone are sentto the sprinkler controller 220. In some instances, the instructions canbe sent to the sprinkler controller 220 without waiting for or receivinga signal indicating the schedule was accepted. In some instances, theirrigation schedule can be sent to a device of the homeowner and thecentral controller 210 can receive adjustments from device 260 a-d forthe irrigation schedule. In other instances, the device 260 a-d can sendquantitative or qualitative feedback related to the irrigation scheduleand the central controller 210 can adjust the schedule according to thefeedback. For example, a signal from device 260 a-d can indicate thatthe zone is under-watered and the central controller 210 can increasecycle times, increase the number of cycles, or some combination thereof.The adjustment based on the qualitative information can be based on zonecharacteristics in the same way the irrigation schedule is based on zonecharacteristics. For example, if the soil type indicates the zone willhave faster drainage, the number of cycles, rather than the cycle times,can be increased. Similarly, if the sprinklers are rotor sprinklers thecycle times can be increased by a larger increment than if thesprinklers are stationary.

Adjusting an existing schedule of a zone for use in another zone cantake into account each of the characteristics of the zone or a subset ofthe characteristics for the zone. Adjustments can include adjustments tocycle days, number of cycles, cycle times, cycle durations, or somecombination thereof. One of ordinary skill in the art can appreciatethat different zone, location, and sprinkler characteristics will demandadjustment of scheduling in different ways and how each characteristiccan influence how often and for how long a watering cycle should be run.In some instances, a characteristic can indicate that the zone should bewatered more or less than the other zone based solely on thatcharacteristic. Thus, in some instances, taking more characteristicsinto account can result in a number of different adjustments and,ultimately, there may be no changes to the other zone's schedule becauseall of the adjustments net no changes.

Central controller 210 can also receive qualitative informationassociated with a zone indicating the zone is over-watered. In response,the central controller 210 can find a similarly situated zone that hasreceived qualitative information indicating the irrigation schedule isoptimal. As a result, the central controller 210 could adjust theirrigation schedule to be more like the other zone's irrigationschedule. In some instances, the existing irrigation schedule can bereplaced with the other zone's irrigation schedule. In other instances,the irrigation schedule can be replaced with an adjusted version of theother zone's irrigation schedule.

Central controller 210 can generate a baseline irrigation schedule basedon a single criterion or start with a default irrigation schedule. Insome embodiments, central controller 210 can forego generating abaseline schedule and generate an irrigation schedule taking intoaccount a number of factors or criteria.

Central controller 210 can send a signal via network 330 to sprinklercontroller 220 to activate an irrigation schedule after a sprinklersystem has been deactivated for a season. The activation signal can besent at a time determined to be optimal for the zone based on thegeolocation information for the zone and/or the zone characteristics.For example, for a zone that is in a warmer climate, that has a lessdrought-resistant turf, and that has experienced or is forecasted tohave dry weather, an activation signal can be sent earlier. Whereas foranother zone that is identically or similarly situated (e.g., sameneighborhood) but has a more drought resistant turf, an activationsignal can be sent later. In some embodiments, central controller 210can send an activation signal to a device 260 a-d in addition to orinstead of sending an activation signal to sprinkler controller 220.

Zone characteristics, sprinkler system characteristics, and geolocationcharacteristics can be received from consumer input via device 260 a-d,sprinkler controller 220, or some other device. In some embodiments,some characteristics can be derived or approximated based on other knowncharacteristics at central controller 210 or sprinkler controller 220.For example, soil type and prevailing turf type can be approximated fromgeolocation information or nozzle type can be determined from a make andmodel of sprinkler system. Those of skill in the art can appreciate thatcertain characteristics can be approximated or determined from anothercharacteristic.

Both owners and third parties can have access to the sprinklercontroller 220 and an irrigation schedule. Central controller 210 canprovide full access to certain persons or devices 260 a-d while limitingaccess to others (e.g., third parties). For example, the centralcontroller 210 can provide a predetermined window of time during which athird party or third party device can access an irrigation schedulingfor a zone or override irrigation schedules, including activating acycle. In some instances, a landscaper or other service provider canactivate a single-event override after service, send a request to shutoff a zone for service, or implement a temporary or permanent irrigationschedule. This access to a zone's irrigation schedule can beaccomplished through a computing device of the service provider withoutrequiring access to the sprinkler controller or sprinkler valves.

In some instances, a water authority can send requests to alterirrigation schedules, status indicators associated with water supply,and the like, to a central controller 210. In response, the centralcontroller 210 can alter irrigation schedules accordingly. In someinstances, a central controller 210 can send messages to homeownerdevices about the request or status indicator. Irrigation schedules canbe configured to allow or deny changes according to water authorityrequests or status indicators.

As discussed above, sprinkler controller 220 is capable of storingirrigation scheduling data and can receive overrides over a networkconnection. In some instances, sprinkler controller can be controllableonly via instruction signals from central controller 210 or can includemanual override controls or an interface similar to an interface ofdevice 260 a-d.

Consumer device 260 a-d can include software to communicate with centralcontroller 210, with sprinkler controller 220 via central controller210, or directly with sprinkler controller 220. In some instances,consumer device 260 a-d can bypass any security for sprinkler controller220 through the local network to communicate directly with the sprinklercontroller 220 and to access an irrigation schedule for a zone. In suchinstances, a time window can be configured to allow such a bypass.

Furthermore, consumer device 260 a-d can be programmed to provideinformation about irrigation schedules and provide an interface throughwhich a user can provide quantitative or qualitative information eitherto the central controller 210, sprinkler controller 220, or both.Embodiments of an exemplary consumer device 260 a-d and interface arediscussed further below.

FIG. 4 illustrates a block diagram of a system 400 that allows for thecontrol and scheduling of a sprinkler system in accordance with someembodiments. Central controller 210 can communicate with sprinklercontroller 220 via network router 230. In addition, central controller210 can receive data from data provider 310 for adjusting irrigationschedule data. Irrigation data 320 can be a data store for storingirrigation schedule data and other data from data provider 310 and datareceived from sprinkler controller 220. Irrigation data 320 can bemaintained or hosted by the same entity that maintains or hosts centralcontroller 210. In some embodiments, central controller 210 andirrigation data 320 can be hosted on the same physical server. In otherembodiments, central controller 210 and irrigation data 320 can behosted on separate physical servers that comprise part of the sameinternal network. In yet other embodiments, central controller 210 andirrigation data 320 can be hosted on separate physical servers thatcomprise parts of separate internal networks and that are incommunication over the Internet.

FIG. 5 illustrates an embodiment of irrigation data 320 that can bestored either at central controller 210, on a different server incommunication with central controller 210, at sprinkler controller 220or at some other data store. Irrigation data 320 includes records forcontrollers, zones, and schedules. Controllers have geolocationinformation such as longitude, latitude, and address data. Additionally,customer and security information is associated with controller.Security information can include login information, including temporarypasswords or login credentials for third parties to temporarily accessirrigation data 320, for example, to override an irrigation schedule.Furthermore, controllers can be assigned a flag indicating whetherirrigation schedules can be overridden. For example, a customer mightwant to prevent central controller 210 from allowing an override to anirrigation schedule either permanently or temporarily. In that case, thecustomer can have the option of turning on and off the flag at thecustomer's convenience. In other embodiments, a flag to indicate whetheran irrigation schedule can be overridden can be associated with a zone,a schedule, a customer, or some other data entity. Likewise, each of thedata items described in association with a controller can be associatedwith a customer, a zone, or some other data entity.

Irrigation data 320 also includes zones associated with a controller.Each zone can have characteristics including: valve type (valve_type),nozzle type (nozzle_type), number of nozzles (nozzle_number), waterpressure (water_pressure), flow rate (flow_rate), vegetation type(vegetation_type), turf type (turf type), soil type (soil_type), gradeof slope (slope_grade), shade, whether to adjust irrigation schedulesbased on weather forecasts (use_weather), whether to override or adjustirrigation schedules based on watering restrictions regulations orordinances (allow_restrictions), whether to adjust irrigation schedules(allow_adjustments). Each of these and other data items can be updatedto account for changes over time in the landscape which, in turn, callsfor a change in an irrigation schedule. For example, over time, shade ina zone can increase as trees in the zone or neighboring tress mature orfences or other structures are erected. In other embodiments, each ofthese data items can be associated with some other data entity and eachof the data items can be further separated or combined for the storageof information related to a zone or other data entity. Moreover, itshould be understood that other data items discussed herein can also beassociated with a zone or with some other data entity, including otherzone characteristics, geolocation data, and sprinkler characteristicsdescribed herein. Further, data items can be further separated toprovide additional detail or further combined to provide less datagranularity.

Irrigation data 320 also includes schedule data. Schedule data caninclude a date on which a schedule is created (date_created), aqualitative indicator (quality_indicator), default schedule type(default_schedule), and an associated baseline schedule(baseline_schedule). A zone can have multiple associated schedules inwhich one of the schedules is active and other schedules are historical.The quality indicator can hold a qualitative value associated with theschedule. Again, the indicator can be a text description or a valuerepresentative of a quality. For example, a qualitative indicator can bea value within a range (e.g., 1 to 5, 1 to 10, A to E, and the like) ora text value such as “severely under-watered,” “under-watered,”“slightly under-watered,” “healthy,” “slightly over-watered,”“over-watered,” “severely over-watered.” Other examples of representedvalues that can be stored as qualitative indicator or anotherqualitative indicator can indicate that cycle times are optimal, tooshort, or long; number of cycles are optimal, too few, or too many;cycle start times or days are acceptable or unacceptable; and the like.By tracking one or more qualitative indicators with a schedule, futureadjustments can be checked against historical schedules so that where anearlier schedule was sub-optimal, an adjustment can be tailored to avoida similar schedule.

Moreover, qualitative indicators can be tracked historically so that aparticular schedule has multiple qualitative indicators over time eventhough the schedule does not change. In this way, historic qualitativeindicators for a schedule can be matched against historical weatherdata. That is, for example, an embodiment can track two or morequalitative indicators for a particular irrigation schedule for a zone,one that indicates a healthy lawn during a time with a particularprevailing weather pattern (e.g., more rainfall than is typical) andanother that indicates a less than healthy lawn during a time with adifferent prevailing weather pattern (e.g., less rainfall than istypical). In this way, irrigation schedules can be adjusted to take intoaccount historic landscape health and historic meteorological data. Inaddition, algorithms for determining an irrigation schedule or anadjustment to an irrigation schedule can account, not only qualitativeindicators, but changes to zone characteristics over time also. Morespecifically, where an historical irrigation schedule was sub-optimalaccording to a qualitative indicator, that same historical irrigationschedule may no longer be sub-optimal given changes to zonecharacteristics.

Still referring to FIG. 5, a schedule can be a default schedule(default_type). For example, a schedule can be every even day, every oddday, every third day, every Monday, Wednesday, and Friday, and the like.A default schedule type can be an integer or some other short indicatoror can be a text description of a default schedule available to acustomer. Irrigation data 320 can store a default schedule type selectedby a customer as an irrigation schedule. A schedule can also be abaseline schedule that is further adjusted to other schedules asdescribed herein. In particular, a baseline schedule can be the initialdefault schedule selected by a customer or selected on behalf of thecustomer for a zone or can be an irrigation schedule generated based onzone and/or sprinkler characteristics. A baseline schedule can then beadjusted to generate other irrigation schedules based on qualitativeinformation about the health of the zone landscape. In the embodimentshown, a baseline schedule is saved for historical purposes.

Irrigation data 320 includes a calendar data entity for storing thecycle information for a schedule. In the embodiment shown, a calendarwith a date (schedule_date), whether the irrigation is scheduled forthat date (irrigate), the start time of the cycle (cycle_start_time),the duration of the cycle (cycle_duration), and whether the cycle willbe or was overridden (overridden). In the embodiment shown, overriddenindicates whether the watering cycle as represented by the calendarrecord will be or has been overridden. In this way, another calendarrecord can be created if the override creates a different cycle starttime or duration or a cycle on another day is to run in lieu of theoverridden cycle. Here, a calendar record is created for every day andincludes an indicator in the irrigation field indicating whetherirrigation is scheduled. In other embodiments, a calendar can includerecords only for those days where irrigation is schedule, thus,eliminating the need for the irrigate field.

Some embodiments can store information about cycle overrides. Forexample, irrigation data can also include whether a cycle was turned offor prevented from running. If a cycle is extended, the added cycleduration can be tracked. Additionally, if a cycle is added, a recordrepresenting the added cycle can be included in the irrigation data.

Some embodiments can store default schedules such that no specializedirrigation schedule needs to be generated, rather a default schedule,already created, is implemented. For example, a default schedule caninclude a cycle every odd day that waters a zone for a particularduration at a particular time. Other default schedules can include everyeven day, every third day, every Monday, Wednesday, Friday, and thelike. In some instances a default schedule can include defaults only forthe scheduled days but require customization of cycle times and durationor some other combination of default values and customized values.

Some embodiments can implement a data entity other than a calendarstructure to maintain cycle days, times, and durations. In particular,some embodiments can maintain a more abstract data entity that can storeschedules similar to default schedules described above. For example, asimpler irrigation schedule can be maintained by day of the week. Insuch an embodiment, irrigation data 320 could include a data entityassociated with a schedule that includes a record for each day of theweek with cycle times and durations for each day. There also could bemultiple day records for a schedule such that multiple cycles can be runon a particular day. It should be understood that date, day of the week,cycle start time, and cycle duration can be organized and stored in anumber of ways in different embodiments and the invention is not limitedto a particular organization of those and other, similar data pointsused to organize an irrigation schedule.

For irrigation schedules that are stored in more abstract datastructures, a sprinkler controller can include processing logic tointerpret such schedules to determine when to turn on and off asprinkler valve after the schedule is sent to the sprinkler controller.Similarly, a central controller 210 can include processing logic todetermine when to turn on and off a sprinkler valve based on a moreabstract data structure and send instructions or an irrigation scheduleaccording to those instructions to a sprinkler controller.

It should be understood that FIG. 5 is illustrative and otherembodiments can implement other data structures or other data storagetechniques for organizing and storing irrigation data 320, includingcontroller, zone, and irrigation schedule data. In particular,controller, zone, and irrigation schedule data as described above, alongwith other information, can be stored in a different logical format in arelational database. Each of the data entities can be further combinedor separated such that controller and zone data are stored together orzone data is further separated. It should be understood that the samecan apply to each of the data entities illustrated in FIG. 5. In yetanother example, rather than storing data in a relational database, flatfiles can be used both for persistently storing data and fortransferring data from a data server or the host computer to a sprinklercontroller and vice versa. It should be further understood that dataentities within irrigation data 320 can be stored on the same ordifferent physical servers.

In some embodiments, historical data, including calendar data can bestored for a predetermined amount of time so that adjustments can takeinto account historic irrigation schedules and qualitative informationabout the schedules. For example, where an irrigation schedule isgenerated for a zone and the schedule closely matches an historicalschedule that included a qualitative indicator that suggests thelandscape health was suboptimal, further adjustments can be recommended.

FIG. 6 illustrates a block diagram of a system 600 that allows for thecontrol and scheduling of multiple sprinkler systems in accordance withsome embodiments. Central controller 210 can be in communication withsprinkler controller A 610 via network router A 630 and with sprinklercontroller B 620 via network router B 620. Additional sprinklercontrollers can be in communication with central controller 210.Irrigation data 320 can be used to store irrigation schedule data forzone 1 652 and zone 2 654 of sprinkler controller A 610 and sprinklervalves A 650 and zone 3 662 and zone 4 664 of sprinkler controller B 620and sprinkler valves B 660. Irrigation data 320 can store irrigationschedule data for zones of sprinkler controller A 610 and sprinklercontroller B 620. In some instances, irrigation schedule data for a zoneof sprinkler controller B 620 can be used to generate irrigationschedule data for a zone of sprinkler controller A 610 and vice versa asexplained further below.

Device 670 can have access to central controller 210 and/or sprinklercontroller 610 via network router A 630 while device 680 can have accessto central controller 210 and/or sprinkler controller 620 via networkrouter B 640. Each of devices 670, 680 can be similar to devices 260a-b. Device 670 can be programmed so that the only sprinkler controlleraccessible is sprinkler controller 610. Similarly, sprinkler controller610 or central controller 210 can be programmed so that device 670 canaccess (i.e., read or update) irrigation data for only sprinklercontroller 610. Moreover, access can be limited to reading data orupdating data only. Furthermore, sprinkler controller 620 or centralcontroller 210 can be programmed so that device 670 has full or limitedaccess to irrigation data for sprinkler controller 620 as well.

FIG. 7 illustrates a block diagram of a system 700 that allows for thecontrol and scheduling of a sprinkler system in accordance with anembodiment. Central controller 210 can include a module for receivingsignals from a service provider device 710. In some instances, a signalfrom a service provider device 710 can include an instruction tooverride irrigation schedule data for a zone of sprinkler controller220. In some embodiments, sprinkler controller 220 can be configured toreceive a signal from service provider device 710. Central controller210 can be configured to modify a security profile of sprinklercontroller 220 so that sprinkler controller 220 can accept the signalfrom service provider device 710. Sprinkler controller 220 can include amodule that controls secure access to irrigation schedule data orinstructions for operating sprinkler valves 240. Thus, in someembodiments, sprinkler controller 220 can receive instructions tooperate sprinkler valves 240 directly from another device that normallylacks authority.

Device 740 can be similar to devices 260 a-d and can communicate withcentral controller 210 via radio-based communication service 750. Suchservice can be a cellular network or some other communications methodincluding a dedicated or proprietary networking service. It should beunderstood that a device 740 that includes a radio transceiver tocommunicate over a radio-based network can be used with otherembodiments.

Central controller 210 can also be in communication with meter datacollection device 720. Meter data collection device 720 can be equipmentat a water meter 730 for sprinkler valves 240. Meter data collectiondevice 720 can be in communication with a water authority data serviceso that irrigation schedules can be adjusted based on usage and/orwatering restrictions. In other embodiments, meter data collectiondevice 720 can be the meter 730 itself, integrated with the meter 730,or can be some portable equipment that can be in communication withmeter 730. In yet other embodiments, meter data collection device 720can be equipment that tracks water flow at sprinkler valves 240 or someother physical location along the water flow path or that estimateswater usage based on flow characteristics and actual valve on-time at asprinkler valve 240 or sprinkler controller 220.

FIG. 8 illustrates a block diagram of a system 800 that allows for thecontrol and scheduling of a sprinkler system in accordance with anembodiment. Central controller 210 can be in communication with hub 810which can be a consumer appliance automation device. In someembodiments, central controller 210 can include a module with aprogramming interface which hub 810 can call to send and/or receiveinstructions and/or data to and/or from central controller 210.Additionally, in some embodiments, central controller 210 can includeprogramming instructions to call a programming interface at hub 810 tosend and/or receive instructions and/or data to hub 810. Those of skillin the art understand that hubs can be implemented as cloud-basedservices as stand-alone servers or in some other configuration. Itshould be understood that central controller 210 can be implemented tocommunicate with any of those configurations.

In some embodiments, central controller 210 can send irrigation scheduledata to hub 810 for data tracking, analysis, and reporting. In otherembodiments, central controller 210 can receive instructions from hub810 for adjusting an irrigation schedule similar to a device 260 a-d. Insome embodiments, sprinkler controller 230 can be programmed to receiveinformation from data provider 310 without central controller 210requesting or including a module or programming instructions to requestthe information on the behalf of sprinkler controller 230. In suchembodiments, sprinkler controller 230 can also include programminginstructions to adjust an irrigation schedule based on the informationas described elsewhere herein. It should be understood that this type ofsprinkler controller 230 can be used with other embodiments than thesystem 800 described in FIG. 8.

FIG. 9 is a flowchart illustrating a method 900 for setting anirrigation schedule for a zone of a sprinkler controller in accordancewith an embodiment. At step 910, a request to register a sprinklercontroller is received. The request to register a sprinkler controllercan include identifying information about the sprinkler controller. Insome instances, the request can include or be accompanied by otherinformation that can identify the sprinkler controller or otherinformation characterizing the sprinkler controller, sprinkler systemcontrolled by the controller, or one or more landscaping zones. In someinstances, the request can be received from the sprinkler controller byway of a network connection. In other instances, the request can bereceived from another device associated with the sprinkler controller.For example, a homeowner can use a computer or smartphone to communicatethe request on behalf of the sprinkler controller. In such instances,the sprinkler controller and other device can communicate via a localnetwork so that information from the sprinkler controller can betransferred to the other device for the request. In some instances,identifying information or other information can be manually input by auser of the device.

At step 920, an irrigation schedule for a zone of the sprinklercontroller is generated. In some instances, a default irrigationschedule can be generated. A default irrigation schedule can be based ona predetermined default schedule that applies universally to all zonesor can be based on default scheduling information for one or morecharacteristics of the zone or sprinkler system. For example, ifgeolocation information for a zone is known, an irrigation schedule canbe generated based on a default schedule that applies to the location ofthe zone. The default irrigation schedule can be based on zip codeinformation, soil type area (e.g., area based on soil taxonomy), and thelike. Further, a default irrigation schedule can be based on thesprinkler type of the zone. The type of sprinkler system used for thezone may have rotor-type or stationary-type sprinkler heads. Anirrigation schedule can be generated from a default irrigation schedulethat has longer cycle times and that applies to rotor-type sprinklersystems or a default irrigation schedule that has shorter cycle timesand that applies to stationary sprinkler heads. In some embodiments, theirrigation schedule for the zone can be generated based on zone orsprinkler characteristics and/or irrigation schedules for other,similarly situated zones as described in more detail in connection withFIG. XX discussed below.

At step 930, the irrigation schedule data for the zone can be sent tothe sprinkler controller. In some embodiments, an irrigation schedulecan be formatted in a text file format, html format, some proprietarydatabase or flat file format, and the like. The irrigation schedule datacomprises instructions for programming a sprinkler controller. Theinstructions can be in the form of the cycle days, times, durations, andthe like. Furthermore, the instructions can be in another form that istranslated by the sprinkler controller to set the cycle days, times,durations, and the like. Those of skill in the art can appreciate thatdata can be packaged in different formats from transfer from one deviceto another and for storage. At the sprinkler controller, the irrigationschedule can take effect immediately. In some embodiments, theirrigation schedule can be configured with a start date, end date, orboth, to instruct the sprinkler controller when to activate, deactivate,or activate and deactivate the irrigation schedule. For example, thesprinkler controller could have been registered during the wintermonths, during the very early spring when rainfall is plentiful, or at atime when the forecast calls for heavy rain and, thus, the irrigationschedule could be configured with a start date in the future.

In some embodiments, irrigation schedule data can be sent periodicallythereafter and the periodic updates can accommodate changes to anirrigation schedule. In other embodiments, irrigation schedule data canbe sent in response to a request signal received at the sprinklercontroller or central controller or by a change to the irrigationschedule.

In some embodiments, a message indicating the start date can be sent toanother device to inform a user that, despite having been successfullyregistered and configured, the sprinkler controller would not yetactivate a zone for watering. As another example, the sprinklercontroller could have been registered during the early fall just beforea sprinkler system would optimally be shut down for the winter. Theirrigation schedule could be configured with an end date at which thesprinkler system would be deactivated. In some instances, a messagecould be sent to a device indicating the end date. This can be helpfulgiven that a sprinkler system might have to be winterized. In otherinstances, a message could be sent to a device as a reminder that an enddate is approaching. In yet other instances, a message could be sent toa device to inform that a sprinkler system should be winterized. Such amessage could be generated based on time of year, forecast, data fromother zones, and the like.

FIG. 10 is a flowchart illustrating a method 1000 for determining andsetting an irrigation schedule in sprinkler controller for a zone inaccordance with an embodiment. At step 1010, a request to register asprinkler controller is received. At step 1020, a request forgeolocation information of the landscaping zone can be sent. The requestfor geolocation information can be sent in response to receiving therequest to register the sprinkler controller. In some embodiments, therequest can be sent to the sprinkler controller. For sprinklercontrollers equipped with an input interface, information can be enteredinto the sprinkler controller. In some embodiments, the request can besent to another device and can be sent by any number of communicationmethods. For example, the request can be sent by SMS, by email, throughan http session, through voice response, and the like. Those of skill inthe art can appreciate that different protocols can be used to sendmessages, requests, and other information from one device to another.

At step 1030, geolocation information is received. As discussed above,geolocation information can be information identifying the location of alandscaping zone as described above. At step, 1040 a request for zonecharacteristics is sent. The request for zone characteristics can besent in response to receiving the geolocation information. Again, therequest can be sent to the sprinkler controller or to another deviceusing any number of protocols. At step 1050, a zone characteristic isreceived.

At step 1060, an existing zone that matches the zone of the sprinklercontroller is determined. In some embodiments, a matching zone can bedetermined based on a predetermined single zone characteristic orpredetermined multiple zone characteristics. Additionally, predeterminedcriteria for whether two zone characteristics match can be used todetermine a match. Criteria can programmed to find matches based onlocation only, on a subset of zone and/or sprinkler characteristics, onall zone and/or sprinkler characteristics, or some combination thereofIn some embodiments, the criteria can be changed centrally or by a user.For example, a homeowner can determine the criteria for matching zoneswhen registering a sprinkler controller or at some other time, includingat a time when a new irrigation schedule is requested. Thus, when arequest to register a sprinkler controller is received or when a requestto update an irrigation schedule is received at step 1010, criteria formatching zones can be received with the request.

The characteristics used to determine a match can vary. For example, fora turf type characteristic, a match can be based on whether the turftypes are identical or merely in the same family. A predeterminedcriterion can be set such that if two turf types are drought resistantbut not the same variety of turf, such as zoysia and buffalo grass,there is still a match. Further, a criterion can be set at the typelevel so that zoysia grass and buffalo grass do not match, but twodifferent types of zoysia grass (e.g., El Toro zoysia grass and Empirezoysia grass) do match. Those of skill in the art can appreciate thedifferent types of turf and levels of detail that can be used for amatch. In some instances, a criterion can be predetermined to indicatesimply that as long as a turf type is more drought resistant than not,the turf types match. In some instances, the matching criterion for turfcan be customized based on user input rather than on turf type.

In some instances, soil types can be used to set a predeterminedcriterion in much the same way. For example, a predetermined matchingcriterion can be set so that silty and sandy soils match, but sandy orpeaty soils do not. Further, a criterion can be set so that any soilthat retains water to a certain extent will match. In some instances,the matching criterion can be customized based on user input rather thanon the particular type of soil. Any other zone and sprinklercharacteristics can be used to determine a match. Thus, in someinstances, one or more matching criteria can be set such that a zonematches another zone because they share the same characteristic or typeof characteristic in spite of other differences, which may or may not besignificant. In this way, the matching algorithm can be customized asmore is learned about what creates a suitable or optimal match in aparticular location or area or with respect to particularcharacteristics. That is, some characteristic can bear more on whetheran irrigation schedule is closer to an optimal match than thatcharacteristic would bear in another geographic area or anothercharacteristic would bear in that same geographic area. In someinstances, in a particular geographic area, turf type may be moreheavily weighted as a factor than any other factor. For example, fortropical or near tropical regions, slope and shade characteristics mayvary insignificantly or have little bearing among landscapes butdifferent types of turf and the nozzle types in two different zones willimpact the irrigation schedule significantly. In another example,another geographic region can have widely varying slope characteristicsbut the type of turf used rarely varies. In such a case, the algorithmcan be customized to favor a match based on the slope characteristicsrather than the type of turf.

In determining whether a zone matches another zone, to limit the numberof potential matches, potential matching zones can be limited to onlythose which have received a favorable qualitative indicator. That is,only those zones that have been given an indication that that irrigationis above a pre-determined threshold can be potential matching zones. Apre-determined threshold can be set to be anything at average or aboveor some of other indicator value.

Following is an exemplary list of zones and their characteristics toillustrate how a matching algorithm can be customized according toembodiments:

Existing Zones

Qualita- tive Flow Indica- Turf Soil Rate Slope ZIP + Zone tor Type TypeShade (GPM) Grade 4 1 5 Drought Sandy High 7   0% 80304- Resistant 04712 2 Drought Sandy High 6 0.5% 80304- Resistant 0471 3 4 Drought LoamyMedium 7   0% 80304- Tolerant 0471 4 3 Drought Clay Un- 7.5   3% 80304-Suscep- known 0471 tible 5 4 Drought Clay Low 5   2% 80304- Tolerant0471

Zones to Match

Flow Soil Rate Slope Zone Turf Type Type Shade (GPM) Grade ZIP + 4 ADrought Resistant Sandy High 6.5 0% 80304-0471 B Drought Resistant ClayHigh 6 1% 80304-0471

In one instance, turf type, soil type, shade, flow rate, slope grade,and zip+4 can be used as matching criteria:

Zone Matching Criteria

Minimum # of characteristics: 3 Turf Type: Yes Soil Type: Yes Shade: YesFlow Rate: Yes Slope Grade: Yes ZIP + 4: Yes

Here, Zone A can match Zones 1 and 2 because they share the same turftype (“drought resistant”), soil type (“sandy”), shade (“high”) andzip+4 (“80304-0471”), even though the flow rate and slope grade differ.As shown, a threshold (minimum # of characteristics) can be set so thata predetermined number of characteristics must match to find a matchingzone. In this example, at least 3 characteristics match for Zones 1 and2. The algorithm can be altered to further narrow whether a zonematches. For example, setting the minimum # of characteristics to 4would result in only Zone 1 matching given that Zone 2 has a differentslope grade of 0.5%. In the example in which Zones 1 and 2 match, othercriteria can be used to determine which matching zone is most optimal.Other criteria include, the number of matching characteristics (Zone 1has 1 additional matching characteristic), the zone with the smallestaggregate differences among characteristics, weighting ofcharacteristics, highest qualitative indicator, or some combinationthereof can be used to determine the most optimal match.

In another instance, the criteria can be changed to arrive at adifferent result including on which the matching criteria are looser:

Zone Matching Criteria

Minimum # of characteristics: 2 Turf Type: Yes Soil Type: Yes Shade: NoFlow Rate: No Slope Grade: No ZIP + 4: Yes

Here, each of Zones 1, 2, and 3 match Zone A and Zone 3 matches Zone B,despite potentially significant differences in other characteristics.This type of loose matching can use used, for example, in geographicareas where there are fewer zones from which to match. With an increasein the minimum # of characteristics a match would not be found for ZoneB.

In yet another instance, fuzzy matching can be implemented byattributing a range to characteristics and where a value falls withinthe range, a match is found:

Zone Matching Criteria

Characteristic Value Range Possible Values Minimum # of 4 n/a n/acharacteristics: Turf Type: Yes ±1 1 to 5 Soil Type: Yes n/a 1 to 5Shade: Yes ±1 1 to 5 Flow Rate: Yes ±1.5 GPM n/a Slope Grade: Yes ±1%n/a ZIP + 4: No n/a n/a

Here, even with a higher number of minimum characteristics, thelikelihood of a match is increased. In the table above, turf types canrange from 1 (more drought resistant) to 5 (less drought resistant);soil types can range from 1 (less porous) to 5 (more porous); and shadecan range from 1 (least shade) to 5 (most shade). Flow rate and slopegrade ranges can be a range of gallons per minute (or some other ratio)and grade range, respectively.

Existing Zones

Qualita- tive Flow Indica- Turf Soil Rate Slope Zone tor Type Type Shade(GPM) Grade ZIP + 4 1 5 1 5 4 7   0% 80304-0471 2 2 2 4 5 6 0.5%80304-0471 3 4 3 3 3 7   0% 80304-0471 4 3 5 1 Unknown 7.5   3%80304-0471 5 4 4 2 1 5   2% 80304-0471

Zones to Match

Flow Soil Rate Slope Zone Turf Type Type Shade (GPM) Grade ZIP + 4 A 1 25 6.5 0% 80304-0471 B 2 1 4 6 1% 80304-0471

Here, Zone A matches Zone 1 on turf type, shade, flow rate and slopegrade because the values of the characteristics fall within a matchingrange of the values for Zone 1. Because four of the characteristicswhich is equal to the minimum # of characteristic matches, Zones A and 1match. Those of skill in the art can appreciate that the values of anyof the characteristics in the table above or described herein can begrouped in ranges that can vary and be used for matching. Additionally,embodiments can include any of the characteristics described herein todetermine a matching zone and can include fewer of the characteristicsto determine a matching zone.

In the example above, the shade value for Zone 4 is “unknown.” It shouldbe understood that any of the values can be “unknown” in a functionalembodiment. In that instance, an “unknown” characteristic can be ignoredor be given less weight when determining a match or when adjusting aschedule.

At step 1070, an irrigation schedule for the zone is generated based onan irrigation schedule of the matching zone. In some embodiments, anirrigation schedule identical to the irrigation schedule of the matchingzone can be generated. In other embodiments, a baseline irrigationschedule for the matching zone can be used to generate the irrigationschedule. For example, for zone characteristics that do not match,adjustments can be made. For example, where the soil and turf typesmatch but the zone has rotor sprinklers but the matching zone hasstationary, the cycle times can be increased. Similarly, where the matchwas based on the location and turf type, but the shade characteristicsfor the matching zone indicate lower shade, the cycle times can bereduced. Further, the number of cycles or cycle start times can beadjusted based on characteristics that do not match. Moreover, theirrigation schedule can be adjusted based on the characteristics of thezone independent of the characteristics of the matching zone. Forexample, shade information for the matching zone can be unknown butshade information for the zone to be scheduled indicates no shade. Inthat case, the cycle times can be increased by a predetermined amountbecause of the likelihood that the matching zone includes some shade.Those of skill in the art can appreciate that characteristics of a zoneand/or sprinkler can require an increase or decrease in cycle times ornumber of cycles or adjustments to cycle start times.

As described above, adjustments to a schedule take into account one ormore characteristics. Those characteristics include qualitativeinformation about a schedule. For example, a matching zone can have aschedule which has an associated qualitative indicator showing that thelandscape is somewhat under-watered. In that case, the schedule can beadjusted to increase cycles or cycle durations. Those of skill in theart can understand that the characteristics of a zone can indicate apreferred adjustment. For example, a zone that has a steeper grade canindicate an adjustment that includes shortening the cycle time andadding a cycle. Where the other zone's schedule indicatedunder-watering, the cycle time can be increased even further. Inembodiments, water schedules can be adjusted according to qualitativemeasures in addition to quantitative measures rather than justquantitative measures alone. Adjustments can be made according topredetermined values according to characteristic and according tocharacteristic value. In some embodiments, predetermined adjustmentvalues can be set centrally at central controller 210 or can be changeover time according to qualitative indicators or other feedback.

Where a match is determined between zones that have at least somediffering factors, it can also be determined whether each differingfactor requires an adjustment to a schedule. In some embodiments,program code can loop through each of the differing factors and, foreach differing factor, if the factor indicates a downward adjustment towatering cycle frequency or cycle time, such an adjustment is made. Forexample, the matching zone can have three nozzles with a rotor nozzletype while the zone to be scheduled has three nozzles with a staticnozzle type and the flow rates of the two zones are the same or differonly insignificantly. In that case, the cycle time reduction would beindicated to account for the nozzle type. Other factor differences canindicate a further cycle time reduction, a cycle time increase, a cyclefrequency decrease, or a cycle frequency increase. Those of ordinaryskill in the art can appreciate how the different factors describedherein can indicate an increase or decrease in cycle times or cyclefrequency. At step 1080, the irrigation schedule data for the zone canbe sent to the sprinkler controller.

FIG. 11 is a flowchart illustrating a method 1100 for determining andgenerating an irrigation schedule for a zone of a sprinkler controllerin accordance with an embodiment. At step 1110, a request to register asprinkler controller is received. In this embodiment, one or more zoneand/or sprinkler characteristics are received with the request toregister the sprinkler controller. At step 1120, a zone that matches azone of the sprinkler controller is determined. Algorithms fordetermining a matching zone are described in fuller detail above. Asdescribed in more detail above, At step 1130, an irrigation schedule forthe zone is generated based on an irrigation schedule for a matchingzone. At step 1140, the irrigation schedule for the zone is sent to thesprinkler controller.

FIG. 11A is a flowchart illustrating a method 1101 for determining andgenerating an irrigation schedule for a zone of a sprinkler controllerin accordance with an embodiment. At step 1120, a zone that matches azone of a sprinkler controller is determined. At step 1130, anirrigation schedule for the zone is generated based on an irrigationschedule for a matching zone. At step 1140, the irrigation schedule forthe zone is sent to the sprinkler controller.

FIG. 12 is a flowchart illustrating a method 1200 for setting anirrigation schedule for a zone of a sprinkler controller based onirrigation schedules for multiple other zones. At step 1210, a requestto generate an irrigation schedule is received. The request canoriginate from a sprinkler controller or some other device on behalf ofa sprinkler controller and a zone. It should be understood that arequest to update an irrigation schedule can also be received by way ofreceiving a request to register a sprinkler controller as describedabove in connection with FIGS. 9-11A. Likewise, it should be understoodthat setting an irrigation schedule for a zone of a sprinkler controllerbased on irrigation schedules for multiple other zones as furtherdescribed below can also apply to the methods described in connectionwith FIGS. 9-11A.

At step 1220, irrigation schedules for multiple zones are received. Insome instances, each irrigation schedule can be associated with adifferent sprinkler controller. In other instances, multiple irrigationschedules can be associated with the same sprinkler controller.Irrigation schedules can be received by requesting irrigation scheduledata from irrigation data 320. In other instances, irrigation scheduledata can be received based on a request to one or more sprinklercontrollers to send irrigation schedule data. Further, irrigationschedules can be received at different times and stored in irrigationdata 320 for later retrieval.

At step 1230, multiple zones that match a zone of the sprinklercontroller are determined. The multiple zones are compared against thezone to determine if there is a match. Matches can be determined in thesame was as described in connection with FIG. 11. Whether a zone matchescan vary in different instances. In some embodiments, a match can dependon a single characteristic of a zone or sprinkler system. In otherembodiments, a match can depend on more than one characteristic.

At step 1240, an irrigation schedule for the zone of the sprinklercontroller can be generated based on the irrigation schedules of morethan one of the multiple zones. In other embodiments, an irrigationschedule can be generated from an irrigation schedule from a single zoneof the multiple zones. For example, one of irrigation schedules can haveassociated qualitative information that indicates the irrigationschedule is optimal or have associated qualitative information thatindicates that irrigation schedule is better than other irrigationschedules or would be better suited than other irrigation schedules. Asingle irrigation schedule can have qualitative information thatindicates the landscape is healthy and neither over- or under-wateredand the zone shares more characteristics with the first zone than otherzones which have associated qualitative information that also indicate ahealthy and neither over- nor under-watered landscape. Where two zonesboth indicate a healthy landscape and share the same characteristics asthe first zone or share the same number of characteristics, adetermination of which irrigation schedule to generate an irrigationschedule from can be based on weighting of characteristics or some otherfactor. Other factors can include proximity of the zones to the firstzone, recency of the qualitative information, frequency of updates tothe qualitative information, and the like.

In other instances, an irrigation schedule can be generated based on anaggregate of two or more of the multiple zones. For example, where threezones match the first zone, an irrigation schedule can be generated byaveraging the number of cycles and cycle times of the three zones. Insome instances, a number of cycles, cycle start times, or cycle timescan be rounded and other factors can be used to set the number of cyclesand cycle times. For example, municipalities can promulgate wateringrestrictions which can take precedence over the number of cycles, thedays on which a cycle can be run, or the duration of a cycle. In someinstances, default values can be set for some irrigation schedule datawhere other values are generated from the aggregate. For example,default cycle start times or default cycle days can be used andaggregate cycle times can be determined from the irrigation schedules ofthe matching zones. At step 1250, the irrigation schedule is sent to thesprinkler controller for the zone.

FIG. 13 is a flowchart illustrating a method 1300 for setting anirrigation schedule for a zone of a sprinkler controller based onqualitative information from another zone. At step 1310, qualitativeinformation for a first zone is received. For example, qualitativeinformation about a zone from homeowner can be received indicating thatan irrigation schedule is optimal or a landscape is healthy. Inresponse, at step 1320, a matching second zone can be determined. Otherzones that are similarly situated to the first zone might benefit from asimilar irrigation schedule. Again, matching criteria can vary indifferent embodiments. At step 1330, an irrigation schedule for thesecond zone based on an irrigation schedule of the first zone can begenerated. In some embodiments, an identical irrigation schedule to theirrigation schedule of the first zone can be generated. In otherembodiments, an irrigation schedule can be generated that differsdepending on the respective characteristics of the first and secondzones. For example, flow characteristics may differ between thesprinkler systems of the zones. Cycle times for the matching second zonecan be adjusted up or down accordingly. As described above, othercharacteristics can be used to determine whether and how to adjust anirrigation schedule from one zone to another. At step 1340, theirrigation schedule for the second zone is sent to the sprinklercontroller for the second zone.

FIG. 14 is a flowchart illustrating a method 1400 for setting anirrigation schedule for a zone of a sprinkler controller based on anoptimal irrigation schedule for a similarly situated zone. At step 1410,qualitative information for a first zone is received. For example,qualitative information about a zone from homeowner can be receivedindicating that an irrigation schedule is suboptimal or a landscape isover-watered or under-watered. In response, at step 1420, a matchingsecond zone can be determined. At step 1430, an irrigation schedule forthe first zone based on the irrigation schedule of the second zone canbe generated. In some embodiments, an identical irrigation schedule tothe irrigation schedule of the second zone can be generated. In otherembodiments, an irrigation schedule can be generated that differsdepending on the respective characteristics of the first and secondzones. For example, flow characteristics may differ between thesprinkler systems of the zones. Cycle times for the matching first zonecan be adjusted up or down accordingly. As described above, othercharacteristics can be used to determine whether and how to adjust anirrigation schedule from one zone to another. At step 1440, theirrigation schedule for the first zone is sent to the sprinklercontroller for the first zone.

FIG. 15 is a flowchart illustrating a method 1500 for setting anirrigation schedule for a zone of a sprinkler controller based onqualitative information about an existing irrigation schedule. At step1510, qualitative information for a zone is received. In response, atstep 1520, an irrigation schedule for the zone can be generated. Wherethe qualitative information indicates that the zone is under-watered,cycle times, durations, or both can be increased. The times or durationscan be increased at an increment based on a rating associated with thequalitative information. In some embodiments, information from sensorsfor the zone can be included to determine the increment. Further, insome embodiments, a standard increment can be used to increase cycletimes or durations or weather reports and forecasts can be used to thedetermine whether any change to an existing irrigation schedule shouldbe made, whether a change should be delayed, whether a change should betemporary, or some combination thereof. Where the qualitativeinformation indicates that the zone is over-watered, cycle times,durations, or both can similarly be decreased in the same way asdescribed above in connection with qualitative information indicating azone is under-watered. At step 1530, the irrigation schedule is sent tothe sprinkler controller.

FIG. 16 is a flowchart illustrating a method 1600 for overriding anirrigation schedule in accordance with an embodiment. At step 1610, arequest to override an irrigation schedule for a zone is received. Insome embodiments, central controller 210 can include a securitymechanism to allow a third party to access an irrigation schedule for azone of sprinkler controller. In some instances, a window of time can becreated during which a designated third party can override an irrigationschedule.

FIG. 17 is an illustration of an interface of an application formanaging an irrigation schedule for a zone of a sprinkler controller.The interface of the application is shown on device 1700 which can beany smartphone. Other embodiments can include other types of devicesincluding tablets, laptop computers, desktop computers, other types ofpersonal computing devices, specialized devices such as a handhelddevice for remotely controlling a sprinkler controller or remotelymanaging an irrigation schedule, or other computing devices. Applicationcan be hosted on device 260 a-d or be hosted on a server and accessiblevia browser. The interface includes a zone cycle time 1710 and controls1720 for adjusting a cycle time and the zone for which the cycle time isdisplayed. The interface also includes a system control element 1730 forturning on an individual zone for a specified period of time. Device1700 can include a transceiver (e.g., radio for cellular communication,Bluetooth, wireless network, etc.) to communicate with sprinklercontroller so that zone cycle times can be adjusted and with a centralcontroller so that irrigation data 320 can be updated and then sent to asprinkler controller. In some embodiments, an interface, including theinterface illustrated in FIG. 17, can be securely shared with anindividual other than the sprinkler controller owner for a specifiedperiod of time for system operation purposes. For example, the sprinklercontroller owner can grant access to the sprinkler controller to alandscape and irrigation professional for a specific window of time anda URL to this type of control could be sent, by a central controller orthe sprinkler controller, via email, from which the landscape andirrigation professional could click on the link and access this controlfor a predetermined period of time.

FIG. 18 is an illustration of an interface of an application formanaging an irrigation schedule for one or more zones of a sprinklercontroller. The interface includes a zone name 1810, its turf orvegetation type (or other zone characteristic indicator) 1830 andindication 1820 if the zone is running at the time of viewing.

FIG. 19 is an illustration of an interface of an application formanaging an irrigation schedule for a zone of a sprinkler controller.The interface includes weather information 1910 which device 1700 canreceive via transceiver from data provider 600. The device 1700 cancommunicate with central controller 210 or directly with data provider310 to receive weather information 1910. The interface also includesweather controls 1920 including a control for displaying weatherinformation 1910, a control allowing for the update of an irrigationschedule, and controls for overriding an irrigation schedule by pausingor starting a watering cycle. Some embodiments may include furthercontrols or a subset of the controls shown in the embodiment illustratedin FIG. 19. In some embodiments, the interface can allow a user toprovide weather feedback which device 1700 can send to a centralcontroller for use in adjusting or overriding irrigation schedules forother zones. Additionally, the interface can include controls 1930 forviewing notifications specific to the sprinkler controller and forrunning quick schedules, for example, running a quick or ad hoc schedulethat would be useful for irrigation maintenance.

FIG. 20 is an illustration of an interface of an application formanaging an irrigation schedule for a zone of a sprinkler controller.The interface includes a schedule or schedule calendar 2010 showing thedays that a watering cycle for a zone was run. In the embodiment shown,darker squares indicate a watering cycle was run. It should beunderstood that other embodiments can represent historic watering cyclesin a number of ways and that the particular interface shown is notlimiting to how historic watering is represented.

FIG. 21 is an illustration of an interface of an application formanaging zone characteristics. The interface includes controls forsetting a turf type 2110, the type of sprinkler system 2120, the soiltype 2130, the type of shade 2140. The names assigned to the controlscan differ in different embodiments. Furthermore, some embodiments mayinclude additional controls for other zone characteristics describedherein or a subset of the controls shown in FIG. 21. In the embodimentshown, the controls 2110-2140 include arrows for adjusting the zonecharacteristics. Again, other embodiments may include other types ofadjustment controls.

FIG. 22 is an illustration of an interface of an application formanaging an irrigation schedule for a zone of a sprinkler controller.The interface includes a calendar portion 2210 and adjustment controls.Calendar portion 2210 includes indicators for the days which a wateringcycle is scheduled. In some embodiments, the calendar portion 2210 canbe used to set or unset a day on which a watering cycle is run byclicking the day. In other embodiments, calendar portion 2210 can bejust a display element. The interface further includes cycle controlsincluding a control for adjusting a cycle time up 2220 or down 2250, arain delay control 2230, and a control for repeating a cycle 2240. Theseand other controls can be used on a zone-by-zone basis.

FIG. 23 is an illustration of an interface of an application formanaging an irrigation schedule for a zone of a sprinkler controller.The interface includes a default schedule control 2310 and calendarportion 2320. Default schedule control 2310 can be used to set a defaultschedule. In the illustration of FIG. 23, an “Every ODD Day” defaultschedule is set in which a watering cycle is set for every odd day.Other default schedules can include every even day, every third day,every Monday, Wednesday, Friday, and the like. Any permutation of dayintervals can be used for a default schedule. In some embodiments,default schedules can be customized either at device 1700 and stored ondevice 1700, in irrigation data 320, or some other data store orcustomized according to zone or sprinkler characteristics.

Additionally, the interface includes cycle start time information 2330,a weather-smart control 2340, and smart-cycle control 2350. In someembodiments, cycle start time information 2330 can by a display elementor can be used to set a start time. Weather-smart control 2340 can beused to override an irrigation schedule based on current and/or forecastweather. For example, where weather data indicates the zone has receivedrain for three days and a watering cycle is scheduled, the irrigationschedule can be overridden so that the cycle does not run. Smart-cyclecontrol 2350 can be used to communicate an instruction to a sprinklercontroller or a central controller to turn on or off customizedscheduling. In some embodiments, options for level of customization canbe used and stored in irrigation data 320 or other central data store.For example, a level of customization can indicate that an irrigationschedule should be entirely ad hoc based on some combination ofinformation including weather data, qualitative feedback related tolandscape health, sensor data, and the like; that an irrigation scheduleshould be adjusted once or at some predetermined interval (e.g., basedon time or on the occurrence of some event such as a request), or somecombination thereof. Adjustments can be made based on a baselineschedule or another optimized schedule as described above.

Some embodiments described herein relate to a computer storage productwith a non-transitory computer-readable medium (also referred to as anon-transitory processor-readable medium) having instructions orcomputer code thereon for performing various computer-implementedoperations. The computer-readable medium (or processor-readable medium)is non-transitory in the sense that it does not include transitorypropagating signals (e.g., propagating electromagnetic wave carryinginformation on a transmission medium such as space or a cable). Themedia and computer code (also referred to herein as code) may be thosedesigned and constructed for the specific purpose or purposes. Examplesof non-transitory computer-readable media include, but are not limitedto: magnetic storage media such as hard disks, optical storage mediasuch as Compact Disc/Digital Video Discs (CD/DVDs), Compact Disc-ReadOnly Memories (CD-ROMs), magneto-optical storage media such as opticaldisks, carrier wave signal processing modules, and hardware devices thatare specially configured to store and execute program code, such asApplication-Specific Integrated Circuits (ASICs), Programmable LogicDevices (PLDs), Read-Only Memory (ROM) and Random-Access Memory (RAM)devices.

Examples of computer code include, but are not limited to, micro-code ormicro-instructions, machine instructions, such as produced by acompiler, code used to produce a web service, and files containinghigher-level instructions that are executed by a computer using aninterpreter. For example, embodiments may be implemented using Java,C++, or other programming languages and/or other development tools.

In conclusion, disclosed embodiments provide, among other things, asystem and method for providing integrated playlists and seamlessconsumption of media. Those skilled in the art can readily recognizethat numerous variations and substitutions may be made to the disclosedembodiments, their use and their configuration to achieve substantiallythe same results as achieved by the embodiments described herein.Accordingly, there is no intention to limit the disclosed embodiments orthe claimed inventions to the disclosed exemplary forms. Manyvariations, modifications and alternative constructions fall within thescope and spirit of the inventions as expressed in the claims.

What is claimed is:
 1. A method of setting an irrigation schedulecomprising: receiving, by a processor, a request to set an irrigationschedule for a first sprinkler controller in communication withsprinklers at a first location, the request comprising first landscapecharacteristics of a first sprinkler zone associated with the firstsprinkler controller; receiving, by the processor, second landscapecharacteristics for a second sprinkler zone associated with a secondsprinkler controller, the second sprinkler controller located at asecond location; comparing, by the processor, the first landscapecharacteristics with the second landscape characteristics to determineone or more matching landscape characteristics and one or more differentlandscape characteristics; accessing, by the processor, a secondirrigation schedule for the second sprinkler zone; utilizing, by theprocessor, the second irrigation schedule for the second sprinkler zoneand the matching characteristics to generate a baseline irrigationschedule for the first sprinkler zone; and adjusting by the processor,the baseline irrigation schedule to generate an adjusted first zoneirrigation schedule based on the different landscape characteristics;and transmitting, by the processor, the adjusted first zone irrigationschedule to the first sprinkler controller, wherein the adjusted firstzone irrigation schedule selectively activates sprinklers at the firstlocation to deliver water to vegetation in the first zone.
 2. The methodof claim 1, wherein the landscape characteristics comprise soil type,vegetation type, turf type, terrain slope, terrain shade, or acombination thereof.
 3. The method of claim 1, wherein the landscapecharacteristics further comprise geolocation data for the firstsprinkler zone.
 4. The method of claim 1, further comprising: receiving,by the processor, qualitative information for the second sprinkler zoneassociated with a second sprinkler controller; wherein the processorfurther utilizes the qualitative information to generate the adjustedfirst zone irrigation schedule.
 5. The method of claim 4, wherein thequalitative information is indicative of landscape health in the secondsprinkler zone.
 6. The method of claim 5, further comprising: receivingqualitative information for the first sprinkler zone; comparing thequalitative information for the first sprinkler zone with thequalitative information for the second sprinkler zone; and determining,by the processor, that the qualitative information for the secondsprinkler zone indicates that the second sprinkler zone has betterlandscape health than the first sprinkler zone.
 7. The method of claim5, wherein the qualitative information comprises a text description, anumerical value, or a combination thereof.
 8. The method of claim 5,wherein the qualitative information comprises a plurality of statesselected from the group consisting of severely under-watered,under-watered, slightly under-watered, healthy, slightly over-watered,over-watered, and severely over-watered.
 9. The method of claim 1,wherein the irrigation schedule for the first sprinkler zone comprisesone or more calendar data entities for storing irrigation cycleinformation.
 10. The method of claim 9, wherein the irrigation cycleinformation comprises information indicative of whether an irrigationevent is scheduled for a given date, a start time for the irrigationevent, and a duration of the irrigation event.
 11. A sprinkler systemcomprising: a sprinkler controller in communication with a plurality ofsprinkler valves to control the plurality of sprinkler valves to deliverwater flow to a plurality of irrigation zones in a location; and acentral controller in communication with the sprinkler controller, thecentral controller configured to generate an irrigation schedule basedon one or more landscape characteristics of the plurality of irrigationzones; wherein the central controller receives a first qualitative valuecorresponding to a vegetation status of vegetation in the locationwatered by the sprinkler valves according to the irrigation schedule fora first period of time in a first irrigation zone; the centralcontroller receives a first qualitative value corresponding to avegetation status of vegetation in the location watered by the sprinklervalves according to the irrigation schedule for a first period of timein a second irrigation zone; the central controller compares the firstqualitative value to first historical weather data for the location overthe first period of time to determine adjustments to the irrigationschedule for the second irrigation zone; the central controller comparesthe first qualitative value corresponding to the first irrigation zonewith the first qualitative value of the second irrigation zone;responsive to determining that the first qualitative value of the secondirrigation zone indicates that the landscape health of the secondirrigation zone is better than the landscape health of the firstirrigation zone, generate an adjusted irrigation schedule for the firstirrigation zone; the central controller transmits the adjustedirrigation schedule to the sprinkler controller; and the sprinklercontroller activates the plurality of sprinkler valves of the firstirrigation zone according to the adjusted irrigation schedule.
 12. Thesprinkler system of claim 11, further comprising: a plurality of sensorsconfigured to capture meteorological information for the plurality ofirrigation zones and to transmit the meteorological information to thecentral controller.
 13. The sprinkler system of claim 12, wherein thecentral controller is further configured to generate the irrigationschedule based, at least in part, on the meteorological information. 14.The sprinkler system of claim 11, wherein the central controller isconfigured to receive the one or more landscape characteristics from oneor more consumer devices.
 15. The sprinkler system of claim 11, whereinthe irrigation schedule comprises one or more calendar data entities forstoring irrigation cycle information.
 16. The sprinkler system of claim15, wherein the irrigation cycle information comprises informationindicative of whether an irrigation event is scheduled for a given date,a start time for the irrigation event, and a duration of the irrigationevent.
 17. A central controller for generating irrigation schedules fora first sprinkler controller, the central controller comprising: aprocessor configured to: receive landscape characteristics of a firstsprinkler zone associated with the first sprinkler controller; generatean irrigation schedule for the first sprinkler controller based, atleast in part, on the landscape characteristics; receive firstqualitative information indicative of landscape health of vegetation inthe first sprinkler zone; receive second qualitative informationindicative of landscape health of vegetation in the second sprinklerzone; and compare the first qualitative information with the secondqualitative information; responsive to determining that the secondqualitative information indicates that the landscape health of thesecond sprinkler zone is better than the landscape health of thesprinkler zone, generate a modified irrigation schedule for the firstsprinkler controller; transmit the modified irrigation schedule to thefirst sprinkler controller, wherein the modified irrigation scheduleselectively activate one or more sprinklers at the first location incommunication with the first sprinkler controller.
 18. The centralcontroller of claim 17, wherein the processor is further configured to:receive landscape characteristics of a second sprinkler zone associatedwith a second sprinkler controller; compare the landscapecharacteristics of the first sprinkler zone with the landscapecharacteristics of the second sprinkler zone to determine one or morematching characteristics; modify one or more landscape characteristicsof the first sprinkler zone based, at least in part, on the matchingcharacteristics; generate a second irrigation schedule based, at leastin part, on the modified landscape characteristics; and transmit thesecond irrigation schedule to the first sprinkler controller.
 19. Thecentral controller of claim 17, wherein the processor is furtherconfigured to: receive meteorological data from one or more sensors inthe first sprinkler zone; and generate the irrigation schedule for thefirst sprinkler controller based, at least in part, on themeteorological data.
 20. The method of claim 11, wherein the centralcontroller receives a second qualitative value corresponding to thevegetation status of the vegetation in the location watered by thesprinkler valves according to the adjusted irrigation schedule for asecond period of time in the first irrigation zone; compares the secondqualitative value to the first qualitative value in the first irrigationzone to determine differences between the first qualitative value andthe second qualitative value in the first irrigation zone; analyzes thedifferences by determining variations between the first historical datafor the first period of time and a second historical data for the secondperiod of time in the first irrigation zone; and based on theanalyzation, modifies the adjusted irrigation schedule to generate asecond adjusted irrigation schedule to increase the vegetation health ofthe vegetation in the first irrigation zone.